// 本地存储键名常量
const LOCAL_STORAGE_KEYS = {
  ERROR_QUESTIONS: 'error_questions',
}

/**
 * 保存错题到本地存储
 * @param question 错题对象
 */
export const saveErrorQuestion = (question: any) => {
  try {
    // 获取现有错题
    const existingQuestions = getErrorQuestions() || []
    // 添加新错题
    existingQuestions.push({
      ...question,
      id: Date.now().toString(), // 生成唯一ID
      createTime: new Date().toISOString(),
    })
    // 保存到本地存储
    uni.setStorageSync(LOCAL_STORAGE_KEYS.ERROR_QUESTIONS, JSON.stringify(existingQuestions))
    return true
  } catch (error) {
    console.error('保存错题失败:', error)
    return false
  }
}

/**
 * 从本地存储获取所有错题
 * @returns 错题数组
 */
export const getErrorQuestions = () => {
  try {
    const questions = uni.getStorageSync(LOCAL_STORAGE_KEYS.ERROR_QUESTIONS)
    return questions ? JSON.parse(questions) : []
  } catch (error) {
    console.error('获取错题失败:', error)
    return []
  }
}

/**
 * 清空本地存储中的所有错题
 * @returns 是否清空成功
 */
export const clearErrorQuestions = () => {
  try {
    uni.removeStorageSync(LOCAL_STORAGE_KEYS.ERROR_QUESTIONS)
    return true
  } catch (error) {
    console.error('清空错题失败:', error)
    return false
  }
}
